<!DOCTYPE html>
<html lang="my">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Git အတွက် ရိုးရှင်းသော လမ်းညွှန် - အခြေခံကို လွယ်ကူစွာ လေ့လာနိုင်ပါသည်">
    <meta name="keywords" content="git,လမ်းညွှန်,သင်ခန်းစာ,အခြေခံ,ရိုးရှင်း,version control">
    <title>git - အရိုးအရှင်းဆုံး လမ်းညွှန် - လွယ်ကူရိုးရှင်းပါသည်!</title>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Chelsea+Market&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css">
    <link rel="stylesheet" href="css/style.css">
    <link href="https://fonts.googleapis.com/css2?family=Padauk:wght@400;700&display=swap" rel="stylesheet">
    <style>
        body {
            font-family: 'Padauk', 'Myanmar Text', 'Yunghkio', sans-serif;
        }

        h1,
        h2 {
            font-family: 'Chelsea Market', 'Padauk', 'Myanmar Text', 'Yunghkio', sans-serif;
        }

        code {
            font-family: Consolas, Monaco, 'Courier New', monospace;
        }
    </style>
    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-652147-13']);
        _gaq.push(['_trackPageview']);

        (function () {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();

        function recordOutboundLink(link, category, action) {
            _gat._getTrackerByName()._trackEvent(category, action);
            setTimeout('document.location = "' + link.href + '"', 100);
        }
    </script>
</head>

<body>
    <div class="scrollblock block-title">
        <h1>git - အရိုးအရှင်းဆုံး လမ်းညွှန်</h1>
        <p>အရိုးအရှင်းဆုံး လမ်းညွှန်ဖြစ်သည်။ ထို့ကြောင့် အသေးစိတ် မပါဝင်။ ;)</p>
        <a href="https://www.nutpi.net/" class="gitcode-share-button" data-via="nutpi" data-size="large"
            data-url="https://www.nutpi.net/" data-related="nutpi" data-hashtags="git">GitCode</a>
        <script>!function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (!d.getElementById(id)) { js = d.createElement(s); js.id = id; js.src = "//platform.gitcode.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); } }(document, "script", "gitcode-wjs");</script>
        <p class="meta">
            ရေးသားသူ <a href="http://www.twitter.com/rogerdudler">Roger Dudler</a>

            (ဘာသာပြန်သူ <a href="http://www.twitter.com/saturngod">saturngod</a>)

            <br /> ကျေးဇူးတင်ခြင်း <a href="http://www.twitter.com/tfnico">@tfnico</a>, <a
                href="http://www.twitter.com/fhd">@fhd</a> နှင့် <a href="http://www.namics.com">Namics</a><br />
            ဒီလမ်းညွှန်ကို
            <a href="index.html">中文</a>,
            <a href="index.de.html">deutsch</a>,
            <a href="index.es.html">español</a>,
            <a href="index.fr.html">français</a>,
            <a href="index.id.html">indonesian</a>,
            <a href="index.it.html">italiano</a>,
            <a href="index.nl.html">nederlands</a>,
            <a href="index.pl.html">polski</a>,
            <a href="index.pt_BR.html">português</a>,
            <a href="index.ru.html">русский</a>,
            <a href="index.tr.html">türkçe</a>,
            <br />
            <a href="index.my.html">မြန်မာ</a>,
            <a href="index.ja.html">日本語</a>,

            <a href="index.ko.html">한국어</a>
            တို့ဖြင့် ဖတ်နိုင်သည်။
            <br />


            ဆွေးနွေးခြင်းနှင့် ပြင်ဆင်ရန် အချက်များ ကို <a href="https://gitcode.com/nutpi/git-guide/issues">github</a>
            တွင် တင်ပေးပါ။
        </p>
        <img src="img/arrow.png" alt="" />
    </div>
    <!-- setup -->
    <a name="setup"></a>
    <div class="scrollblock block-setup">
        <h2>ပြင်ဆင်ခြင်း</h2>
        <p>
            <a href="http://git-scm.com/download/mac">OSX အတွက် git Download</a>
        </p>
        <p>
            <a href="http://msysgit.github.io/">Windows အတွက် git Download</a>
        </p>
        <p>
            <a href="http://book.git-scm.com/2_installing_git.html">Linux အတွက် git Download</a>
        </p>
    </div>
    <a name="create"></a>
    <div class="scrollblock block-create">
        <h2>repository အသစ် ဖန်တီးခြင်း</h2>
        <p>
            directory အသစ် တစ်ခုတည်ဆောက်ပါ။ ပြီးလျှင် terminal မှာ အောက်ကလို ရိုက်ပါ။
            <br />
            <code>git init</code><br />
            ဆိုပြီး git repository တစ်ခုကို စတင်ပါ။
        </p>
    </div>
    <a name="checkout"></a>
    <div class="scrollblock block-checkout">
        <h2>repository ကို checkout လုပ်ခြင်း</h2>
        <p>
            copy အနေနဲ့ ပွားပြီးတော့ အလုပ်လုပ်မယ်ဆိုရင်တော့ အောက်က command ကို အသုံးပြုရပါတယ်။ <br />
            <code>git clone /path/to/repository</code><br />
            တကယ်လို့ server နဲ့ အလုပ်လုပ်တာဆိုရင်တော့ အောက်ကလို အသုံးပြုရပါတယ်။ <br />
            <code>git clone username@host:/path/to/repository</code>
        </p>
    </div>
    <a name="trees"></a>
    <div class="scrollblock block-trees">
        <h2>အလုပ်လုပ်ပုံ</h2>
        <p>
            သင့် local repository မှာ git က ထိန်းသိမ်းဆောက်ရွက်တဲ့ ဆင့်ပွား ၃ ခု ရှိပါတယ်။
            ပထမ တစ်ခုကတော့ <code>Working Directory</code> ပါ။
            သူကတော့ လက်ရှိ file တွေကို သိမ်းထားပေးပါတယ်။
            ဒုတိယ တစ်ခုကတော့ <code>Index</code> ပါ။
            သူကတော့ staging area ပါ။
            နောက်ဆုံးကတော့ <code>HEAD</code> ပါ။
            နောက်ဆုံး သင် commit လုပ်ထားတဲ့ နေရာကို ညွှန်ပြထားပါတယ်။

        </p>
        <img src="img/trees.png" alt="" />
    </div>
    <a name="add"></a>
    <div class="scrollblock block-add">
        <h2>add နှင့် commit</h2>
        <p>
            ပြင်ဆင်ထားတာများကို ထည့်သွင်းလိုလည်း အောက်ပါ အတိုင်း အသုံးပြုနိုင်သည်။ <br />
            <code>git add &lt;filename&gt;</code><br />
            <code>git add *</code><br />
            ဒီ အဆင့်က ပထမ အဆင့်ပါ။ ပြောင်းလဲထားသည်များကို commit လုပ်လိုလျှင် <br />
            <code>git commit -m "Commit message"</code><br />
            ပြင်ဆင်ထားသည်များကို <b>HEAD</b> တွင် မှတ်ထားပြီးသားဖြစ်သည်များကို <i>fetch</i> နှင့်
            <i>merge</i> လုပ်သွားပါမယ်။<br />

            လက်ရှိ အလုပ်လုပ်နေသော branch (ဥပမာ။။ master) ထဲကို အခြား branch မှ လာပေါင်းလိုလျှင် <br />

            <code>git merge &lt;branch&gt;</code><br />

            ထိုအခါ git က အလိုအလျှောက် ပြင်ထားသည်များကို ပေါင်းပေးပါလိမ့်မယ်။
            သို့သော်လည်း အမြဲတန်း အဆင်မပြေပါ။ တစ်ခါတစ်လေ <i>conflicts</i> ဖြစ်တာလေးတွေ ရှိတတ်ပါတယ်။

            ထို အခါ <i>conflicts</i> ဖြစ်တာကို ကိုယ့်ဘာသာကိုယ် ပေါင်းဖို့ လုပ်ဆောင်ရပါတော့တယ်။

            <i>conflicts</i> ဖြစ်နေတဲ့ file များကို git တွင်ဖော်ထားပါတယ်။ ထို file များကို ကိုယ့်ဘာသာကိုယ်
            ပြင်ဆင်ပြီးရင် ပြန်ပြီးတော့ ထည့်ပေးဖို့ လိုပါတယ်။<br />
            <code>git add &lt;filename&gt;</code><br />

            မပေါင်းခင်မှာ အရင်ဆုံး ပြောင်းထားတဲ့ code တွေကို ယှဉ်ကြည့်နိုင်ပါတယ်။<br />
            <code>git diff &lt;source_branch&gt; &lt;target_branch&gt;</code>
        </p>
    </div>
    <a name="tagging"></a>
    <div class="scrollblock block-tagging">
        <h2>tagging</h2>
        <p>
            software version တစ်ခုကို ထုတ်လိုက်တိုင်းမှာ tag ကို အသုံးပြု အကြံပြုပါတယ်။
            ဒါသုံးခြင်းက SVN မှာ ပါပြီးသား အယူအဆ တစ်ခုပါ။
            သင့်အနေနဲ့ tag နာမည် အသစ် <i>1.0.0</i> ဆိုပြီး ပေးနိုင်ပါတယ်။ <br />
            <code>git tag 1.0.0 1b2e1d63ff</code><br />
            <i>1b2e1d63ff</i> ကတော့ သင် tag လုပ်ချင်တဲ့ commit id ရဲ့ ပထမ စာလုံး ၁၀ လုံး ပါ။
            သင့် အနေနဲ့ commit id ကို အောက်ကလို ရိုက်ပြီး ရယူနိုင်ပါတယ်။<br />
            <code>git log</code><br />
            သင့်အနေနဲ့ commit id ရဲ့ အခြားစာလုံး အနည်းငယ်ကို အသုံးပြုနိုင်ပါတယ်။ သို့ပေမယ့် အဲဒီ id ဟာ ဘယ်သူမှ
            အသုံးမပြုထားပဲ ကင်းရှင်းဖို့ သို့မဟုတ် unique ဖြစ်ဖို့ လိုပါတယ်။
        </p>
    </div>
    <a name="checkout-replace"></a>
    <div class="scrollblock block-checkout-replace">
        <h2>local ပြောင်းလဲခြင်းများကို အစားထိုးခြင်း</h2>
        <p>
            တကယ်လို့ တခုခုမှားသွားပြီး local ထဲက file နဲ့ ပြန် အစားထိုးချင်ရင် <br />
            <code>git checkout -- &lt;filename&gt;</code><br />
            အခု ပြောင်းလဲလိုက်တာက သင့်ရဲ့ working tree ထဲက HEAD ထဲ က နောက်ဆုံး content မှာ သွားပြီးတော့
            အစားထိုးသွားမှာပါ။ ပြောင်းထားတာတွေကိုတော့ index အနေနဲ့ ထည့်ပြီး files အသစ်တွေကိုလည်း သိမ်းထားပါလိမ့်မယ်။
        </p>
        <p>
            အကယ်၍ သင့်အနေနဲ့ local changes နှင့် commits တွေကို ဖျက်ချပြီး နောက်ဆုံး server နှင့် master branch က အကုန်
            ဆွဲယူပြီး အစားထိုးချင်ရင်<br />
            <code>git fetch origin</code><br />
            <code>git reset --hard origin/master</code>
        </p>
    </div>
    <a name="hints"></a>
    <div class="scrollblock block-hints">
        <h2>အသုံးဝင်သော အရာများ</h2>
        <p>
            GUI ပါဝင်သော git <br />
            <code>gitk</code><br />
            အရောင်များဖြင့် git output<br />
            <code>git config color.ui true</code><br />
            commit များကို စာ တကြောင်းစီဖြင့် ကြည့်ရန်။<br />
            <code>git config format.pretty oneline</code><br />
            interactive adding ကို အသုံးပြုခြင်း<br />
            <code>git add -i</code>
        </p>
    </div>
    <a name="resources"></a>
    <div class="scrollblock block-resources">
        <h2>link နှင့် resources</h2>
        <h3>graphical clients</h3>
        <p>
        <ul>
            <li><a href="http://gitx.laullon.com/">GitX (L) (OSX, open source)</a></li>
            <li><a href="http://www.git-tower.com/">Tower (OSX)</a></li>
            <li><a href="http://www.sourcetreeapp.com/">Source Tree (OSX, free)</a></li>
            <li><a href="http://mac.github.com/">GitHub for Mac (OSX, free)</a></li>
            <li><a href="https://itunes.apple.com/gb/app/gitbox/id403388357?mt=12">GitBox (OSX)</a></li>
        </ul>
        </p>
        <h3>အသုံးပြုပုံ လမ်းညွှန်များ</h3>
        <p>
        <ul>
            <li><a href="http://book.git-scm.com/">Git Community Book</a></li>
            <li><a href="http://progit.org/book/">Pro Git</a></li>
            <li><a href="http://think-like-a-git.net/">Think like a git</a></li>
            <li><a href="http://help.github.com/">GitHub Help</a></li>
            <li><a href="http://marklodato.github.com/visual-git-guide/index-en.html">A Visual Git Guide</a></li>
        </ul>
        </p>
    </div>

    </div>
    <script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'git-the-simple-guide'; // required: replace example with your forum shortname

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function () {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by
            Disqus.</a></noscript>
    </div>
    <a href="http://www.git-tower.com/?source=rd"
        onClick="recordOutboundLink(this, 'Outbound Links', 'git-tower.com');return false;" class="tower"></a>
    <a href="files/git_cheat_sheet.pdf" onClick="recordOutboundLink(this, 'Cheat Sheet', 'git-guide');return false;"
        class="cheatsheet"></a>
</body>

</html>